#include "Common.h"
#include "Pipeline.h"
#include "Graphics/Material.h"

RayFrame::Pipeline::Pipeline()
{

}

RayFrame::Pipeline::~Pipeline()
{

}

void RayFrame::Pipeline::AddRenderable( STRING procName, Renderable* r )
{

}

void RayFrame::Pipeline::Render(float timeElapsed)
{
  for(IterVProc iter = m_vecProc.begin(); 
    iter != m_vecProc.end(); 
    iter++)
  {
    (*iter)->Render();
  }
}

bool RayFrame::Pipeline::PushProcedure( PipelineProcedure* proc )
{
  // TODO: check if it already exists
  m_vecProc.push_back(proc);
  m_mapProc[proc->GetName()] = proc;

  return true;
}
